﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LI4.Presentation
{
    public partial class EscolherAnuncio : Form
    {
        public int tipo;
        public Business.Candidato cand;
        public Business.Empresa empr; 

        public EscolherAnuncio()
        {
            InitializeComponent();
        }

        private void EscolherAnuncio_Load(object sender, EventArgs e)
        {
           
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Business.Anuncio anuncio;

            if (listBox1.Text.Length > 0)
            {
                anuncio = new Business.Anuncio((Business.Anuncio)listBox1.SelectedItem);
                if(tipo==Business.Login.CANDIDATO) new EditarAnuncio(anuncio,cand).Show();
                else new EditarAnuncio(anuncio, empr).Show();
                this.Dispose();
            }
            else
            {
                MessageBox.Show(this, "Tem que seleccionar um anuncio da lista!", "Erro!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void procurarB_Click(object sender, EventArgs e)
        {
            string username = utilizadorTB.Text.Trim();
            Data.Anuncio anunciosData = new LI4.Data.Anuncio();

            Data.Candidato candData = new LI4.Data.Candidato();
            Data.Empresa empData = new LI4.Data.Empresa();
            
            
           

            if (candData.exiteCandidato(username))
            {
                tipo = Business.Login.CANDIDATO;
            }
            else
            {
                if (empData.existeEmpresa(username)) tipo = Business.Login.EMPRESA;
                else
                {
                    MessageBox.Show(this, "Username nao existente!", "Erro.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    tipo = 0;
                } 
            }
            if (tipo != 0)
            {
                if (tipo == Business.Login.CANDIDATO)
                {
                    cand = new LI4.Business.Candidato(candData.getCandidato(username));
                }
                else
                {
                    empr = new LI4.Business.Empresa(empData.getEmpresa(username));
                }
                foreach (Business.Anuncio anuncio in anunciosData.getAnuncios(username))
                {
                    listBox1.Items.Add(anuncio);
                }

                if (listBox1.Items.Count > 0) listBox1.SelectedIndex = 0;
                else
                    MessageBox.Show(this, "Utilizador nao tem anúncios!", "Erro.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                tipo = 0;
            }
        }

        private void EscolherAnuncio_Shown(object sender, EventArgs e)
        {
            utilizadorTB.Focus();
        }
    }
}
